进程调度 在所有操作系统中都很重要,不管是 FreeRTOS 还

🔍 溯源 ✍️ Jason | 📅 2026-07-24 | 👍 1 | 原帖↗
#知识星球 #立芯嵌入式 #来源/立芯星球 #技术/Linux内核 #技术/进程调度 #质量/精华

原帖 | Jason | 2026-07-24 17:11 | 👍1 | 阅读约1

进程调度 在所有操作系统中都很重要,不管是 FreeRTOS 还是 Linux/Android。但我发现大家对这个有个误区,认为进程调度就是选择下一个 task 是谁而已,其实不是这样的。

真正复杂系统的调度器,要做的事情有三个:

1.摆核

一颗 IC 中有不同能力的 CPU,比如八核 CPU 有大核也有小核,CPU 频率不同。我们需要依据某个 task 对能力的需求,在多个 CPU 之间选择合适的 CPU,这个叫摆核。常见知识点比如:EAS 选核策略,HMP 选核策略,loading balance,task 挤大核怎么办?都是要解决的问题。

2.调频

CPU 在不同电压不同频率处,性能与功耗并非线性关系,而是一个曲线。根据系统 loading 变化,选择合适的 cpu 频点,这个叫调频,这样能找到最好的能耗比。常见的知识点比如:遇到轻载高频问题如何分析?如何抓带有 cpu 频率 event 的 trace?DVFS 和 CVFS,设定地板和天花板频率等。

3.调度

Linux/Android 是多任务系统,会存在多个 task 被摆到一颗 cpu 上面。当一颗 cpu 上面有多个 task 时,选择合适的 task 执行。这里就是常见的,市面上有很多教程都在讲的,常见知识点是:调度类,调度策略,调度时机,如何选取下一个 task 等。

所以产品的进程调度想做好,要考虑的点是很多的,只会修改一个 task 优先级是不够的,要学会利用 IC 的机制做事。

做玩具和做出几十上百万台量产产品,是两个概念。做量产产品,每个模块都需要深入细致的研究,才能保证产品的长期稳定运行。


相关笔记